import qs from 'qs'
import request from '@/utils/request'
import { prefilter } from '@/utils'
/**
 * 根据区域ID查询下一级所有行政区域
 */
export function getAreaList(params = {}) {
  prefilter(params)
  return request({
    url: '/portal-service/area/list',
    method: 'get',
    params
  })
}

// 增加地区
export function addAreaSingle(data = {}) {
  prefilter(data)
  return request({
    url: '/portal-service/area/add',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 批量增加地区
export function addAreaBatch(data = []) {
  return request({
    url: '/portal-service/area/addBatch',
    method: 'post',
    headers: {
      'Content-Type': 'application/json;charset=utf-8'
    },
    data
  })
}

// 查看地区详情
export function getAreaDetail(data = {}) {
  prefilter(data)
  return request({
    url: '/portal-service/area/detail ',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 修改地区详情
export function updateAreaDetail(data = {}) {
  prefilter(data)
  return request({
    url: '/portal-service/area/update ',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 删除地区
export function deleteArea(data = {}) {
  prefilter(data)
  return request({
    url: '/portal-service/area/delete ',
    method: 'post',
    data: qs.stringify(data)
  })
}

/**
 * 数据字典项
 */
// 查看数据字典项列表
export function getDictionaryList(data = {}) {
  prefilter(data)
  return request({
    url: '/dictory/list',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 增加数据字典
export function addDictionary(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/dictory/add',
    method: 'post',
    data: qs.stringify(data)
  })
}
// 删除数据字典项
export function deleteDictionary(data = {}) {
  prefilter(data)
  return request({
    url: '/dictory/delete',
    method: 'post',
    data: qs.stringify(data)
  })
}
// 修改数据字典项详情
export function updateDictionary(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/dictory/update',
    method: 'post',
    data: qs.stringify(data)
  })
}
// 查看数据字典项详情
export function getDictionaryDetail(data = {}) {
  prefilter(data)
  return request({
    url: '/dictory/detail',
    method: 'post',
    data: qs.stringify(data)
  })
}

/**
 * 参数设置
 */
// 查看所有应用
export function getDockerAppList(data = {}) {
  prefilter(data)
  return request({
    url: '/docker-service/dockerapp/list',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 配置列表
export function getConfigwebList(data = {}) {
  prefilter(data)
  return request({
    url: '/config-web-service/configweb/list',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 新增配置
export function configwebAdd(data = {}) {
  prefilter(data)
  return request({
    url: '/config-web-service/configweb/add',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 修改配置
export function updateConfigweb(data = {}) {
  prefilter(data)
  return request({
    url: '/config-web-service/configweb/update',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 删除配置
export function deleteConfigweb(data = {}) {
  prefilter(data)
  return request({
    url: '/config-web-service/configweb/delete',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 系统配置刷新
export function refreshConfig(data = {}) {
  prefilter(data)
  return request({
    url: '/config-web-service/configweb/updateAll',
    method: 'post',
    data: qs.stringify(data)
  })
}

/**
 * 菜单管理
 */
// 菜单列表
export function getMenuList(data = {}) {
  prefilter(data)
  return request({
    url: '/resource/getResources',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 资源列表
export function getResourceList(data = {}) {
  prefilter(data)
  return request({
    url: '/resource/list',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 增加资源
export function addResource(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/resource/add',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 修改资源
export function updateResource(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/resource/update',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 删除资源
export function deleteResource(data = {}) {
  prefilter(data)
  return request({
    url: '/resource/delete',
    method: 'post',
    data: qs.stringify(data)
  })
}

/**
 * 角色管理
 */
// 角色列表
export function getRoleList(data = {}) {
  prefilter(data)
  return request({
    url: '/role/list',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 增加角色
export function addRole(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/role/add',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 角色详情
export function getRoleDetail(data = {}) {
  prefilter(data)
  return request({
    url: '/role/detail',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 修改角色
export function updateRole(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/role/update',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 删除角色
export function deleteRole(data = {}) {
  prefilter(data)
  return request({
    url: '/role/delete',
    method: 'post',
    data: qs.stringify(data)
  })
}

/**
 * 角色资源管理
 */
// 角色资源列表
export function getRoleResourceList(data = {}) {
  prefilter(data)
  return request({
    url: '/role/listResource',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 添加角色资源
export function addRoleResource(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/roleResource/addAll',
    method: 'post',
    data: qs.stringify(data)
  })
}

/**
 * 用户管理
 */
// 用户列表
export function getUserList(data = {}) {
  prefilter(data)
  return request({
    url: '/user/list',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 增加用户
export function addUser(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/user/add',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 用户详情
export function getUserDetail(data = {}) {
  prefilter(data)
  return request({
    url: '/user/detail',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 修改用户
export function updateUser(data = {}) {
  prefilter(data, 'retain')
  return request({
    url: '/user/update',
    method: 'post',
    data: qs.stringify(data)
  })
}

// 删除用户
export function deleteUser(data = {}) {
  prefilter(data)
  return request({
    url: '/user/delete',
    method: 'post',
    data: qs.stringify(data)
  })
}


// 根据code得到字典项
export function getDictionaryDataByCode(code = '') {
  let data = {
    code,
    pageSize: 100000
  }
  prefilter(data)
  return request({
    url: '/dictory/listKey',
    method: 'post',
    data: qs.stringify(data)
  })
}